package com.ykht.proj.coupon.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "优惠券表")
public class CnCouponVo extends Model<CnCouponVo> {
	/**
	 *
	 */
	@TableId
	@ApiModelProperty(value="")
	private Long id;
	/**
	 * 公司Id
	 */
	@ApiModelProperty(value="公司Id")
	private Long companyId;
	/**
	 * 品牌Id
	 */

	@ApiModelProperty(value="品牌Id")
	private Long brandId;
	@ApiModelProperty(value="品牌logo")
	private String logoUrl;
	/**
	 * 品牌Ids
	 */
	@ApiModelProperty(value="品牌Ids")
	private String brandIds;
	/**
	 * 店铺Ids
	 */
	@ApiModelProperty(value="店铺Ids")
	private List<Long> shopIds;
	/**
	 * 品牌名称
	 */
	@ApiModelProperty(value="品牌名称")
	private String brandName;
	/**
	 * 领取数量
	 */
	@ApiModelProperty(value="领取数量")
	private Integer count;
	/**
	 * 优惠券名称
	 */
	@ApiModelProperty(value="优惠券名称")
	private String name;
	/**
	 * 优惠券类型0无门槛1满减
	 */
	@ApiModelProperty(value="优惠券类型0无门槛1满减")
	private Integer couponType;
	/**
	 * 0领取后N天内有效1时间段
	 */
	@ApiModelProperty(value="0领取后N天内有效1时间段")
	private Integer dateType;
	/**
	 * 0通用券1多门店2单门店
	 */
	@ApiModelProperty(value="0通用券1多门店2单门店")
	private Integer type;
	/**
	 * 最低消费金额
	 */
	@ApiModelProperty(value="最低消费金额")
	private BigDecimal lowMoney;
	/**
	 * 减免金额
	 */
	@ApiModelProperty(value="减免金额")
	private BigDecimal reductionMoney;
	/**
	 * 优惠券生效时间
	@JsonFormat(locale = "zh",pattern = "yyyy-MM-dd", timezone = "GMT+8")
	 */
	@ApiModelProperty(value="优惠券生效时间")
	private LocalDateTime effectiveeStaTime;
	/**
	 * 优惠券结束时间
	@JsonFormat(locale = "zh",pattern = "yyyy-MM-dd", timezone = "GMT+8")
	 */
	@ApiModelProperty(value="优惠券结束时间")
	private LocalDateTime effectiveeEndTime;
	/**
	 * 有效天数
	 */
	@ApiModelProperty(value="有效天数")
	private Integer effectiveeDay;
	/**
	 * 发放数量
	 */
	@ApiModelProperty(value="发放数量")
	private Integer grantCount;
	/**
	 * 核销码
	 */
	@ApiModelProperty(value="核销码")
	private String verificationCode;
	/**
	 * 使用规则
	 */
	@ApiModelProperty(value="使用规则")
	private String usageRules;
	/**
	 * 0上架1下架
	 */
	@ApiModelProperty(value="0上架1下架")
	private Integer status;
	/**
	 * 0未使用1已核销2已过期
	 */
	@ApiModelProperty(value="0未使用1已核销2已过期")
	private Integer coustatus;
	/**
	 * 创建人
	 */
	@ApiModelProperty(value="创建人")
	private Long createUser;
	/**
	 * 修改人
	 */
	@ApiModelProperty(value="修改人")
	private Long updateUser;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value="创建时间")
	private LocalDateTime createTime;
	/**
	 * 更新时间
	 */
	@ApiModelProperty(value="更新时间")
	private LocalDateTime updateTime;
	/**
	 * 0可用1删除
	 */
	@ApiModelProperty(value="0可用1删除")
	private Integer delFlag;
	/**
	 * 租户ID
	 */
	@ApiModelProperty(value="租户ID",hidden=true)
	private Integer tenantId;
	/**
	 * 有效期展示字段
	 */
	@ApiModelProperty(value="有效期展示字段")
	private String validity;
	/**
	 * 门店id
	 */
	@ApiModelProperty(value="门店id",hidden=true)
	private Long shopId;
	/**
	 * 门店名称
	 */
	@ApiModelProperty(value="门店名称",hidden=true)
	private String shopName;
	/**
	 * 门店名称集合
	 */
	@ApiModelProperty(value="门店名称集合")
	private String shopNameList;
	@ApiModelProperty(value="管理后台门  适用门店店名称")
	private String shopNameType;

	/**
	 * 核销人
	 */
	@ApiModelProperty(value="核销人")
	private String verificationPerson;
	/**
	 * 核销时间
	 */
	@ApiModelProperty(value="核销时间")
	private LocalDateTime verificationTime;
	/**
	 * 桌号
	 */
	@ApiModelProperty(value="桌号")
	private Integer tabNum;
	/**
	 * 消费金额
	 */
	@ApiModelProperty(value="消费金额")
	private BigDecimal cnMoney;
	/**
	 * 应付金额
	 */
	@ApiModelProperty(value="应付金额")
	private BigDecimal payMoney;
	/**
	 * 优惠券时间段值
	 */
	@ApiModelProperty(value="优惠券时间段值")
	private List<String> dateList;
}
